.. _repo_from_ISO:

Создание репозиториев из ISO образа
------------------------------------------------------------------------------

Для установки программного обеспечения через групповые политики требуется репозиторий, созданный с использованием официального ISO-образа. Это позволит устанавливать и обновлять программное обеспечение без обращения к сети Интернет.

Необходимо скачать образ-ISO с базовым дистрибутивом на сайте в личном кабинете, перейдя по ссылке https://lk-new.astralinux.ru/, или вставить диск в привод, скопировав ISO-образ в текущую директорию командой ``dd``:

.. code-block:: bash

    dd if=/dev/sr0 of=al174main.iso bs=100M status=progress

Создать новый репозиторий для корпоративной сети, перейдя в раздел «Установка и обновление ПО — Репозитории ПО». На вкладке «Репозитории ПО» нажать на кнопку «Новый репозиторий».

В открывшемся окне «**Основное**» назвать новый репозиторий «astra-linux-base» и указать абсолютный путь */astralinux17base*, см. :ref:`рис. 2.8.2`. Необходимо обратить внимание, что путь начинается с символа «/». После заполнения нажать на кнопку «**Сохранить**».

.. figure:: media/16_new-base-repository.png
    :name: рис. 2.8.2
    :scale: 50

    Новый репозиторий с базового образа Astra Linux 1.7.ххх

После сохранения станут доступны дополнительные вкладки для настройки репозитория. Перейти на вкладку «**Версии**» и создать новую запись, см. :ref:`рис. 2.8.3`.

.. figure:: media/17_new-base-version-of-repository.png
    :name: рис. 2.8.3
    :scale: 50

    Вкладка Версии нового репозитория astra-linux-base

Необходимо создать Версию из ISO-образа, для этого из списка выбрать загруженный образ. Чтобы начался процесс загрузки образа на сервер репозиториев, нажать на кнопку «**Сохранить**».

После загрузки файла на сервер, он будет обрабатываться некоторое время. Проверить статус обработки можно на странице с версией, см. рис. :ref:`рис. 2.8.4`.

.. figure:: media/18_new-base-version-of-repository-processing.png
    :name: рис. 2.8.4
    :scale: 50

    Обработка ISO образа на вкладке «Версия»

После обработки статус поменяется на Опубликована, см. :ref:`рис. 2.8.5`, после чего его можно использовать в файле */etc/apt/sources.list*.

.. figure:: media/19_new-base-version-of-repository-completed.png
    :name: рис. 2.8.5
    :scale: 50

    Обработанный ISO образ Версии 1 со статусом «Опубликована»

Открыть файл *sources.list* на **pc-1** для настройки базовой версии Astra Linux:

.. code-block:: bash

    ssh pc-1
    sudo nano /etc/apt/sources.list

Вставить добавленный репозиторий в *source.list*, а адреса **dl.astralinux.ru** закомментировать через символ ``#``:

.. code-block:: bash

    #deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.ххх/repository-base/ 1.7_x86-64 main contrib non-free
    #deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.ххх/repository-extended/ 1.7_x86-64 main contrib non-free
    deb [trusted=yes] https://repo.ald.company.lan/repos/astralinux17base/ 1.7_x86-64 main contrib non-free

Где:

* ``[trusted=yes]`` — обозначает, что есть доверие к этому репозиторию, т.е можно устанавливать пакеты без цифровых подписей.

* ``https://repo.ald.company.lan/repos/astralinux17base/`` — полный путь до репозитория, который можно посмотреть во вкладке «Основное» выбранного репозитория. Порт 443 можно не указывать, потому что он используется для протокола https.

В версии 2.1.0 была особенность, что подсистема репозитория получала сертификат на короткое имя по названию компьютера, например, **repo** вместо **repo.ald.company.lan**, поэтому для использования **https** в этом случае требовалось указывать адрес в формате ``deb [trusted=yes] https://repo/repos/astralinux17base/ ...``.

* ``1.7_x86-64`` — кодовое имя дистрибутива, которое можно посмотреть в описании версии.

* ``main``, ``contrib`` и ``non-free`` — компоненты дистрибутива, которое можно посмотреть в описании версии.

Сохранить и проверить, что установка пакетов будет с адреса нового репозитория в корпоративной сети:

.. code-block:: bash

    sudo apt update

Результат выполнения обновления кэша:

.. code-block:: bash

    Игн:1 https://repo.ald.company.lan/repos/astralinux17base 1.7_x86-64 InRelease
    Пол:2 https://repo.ald.company.lan/repos/astralinux17base 1.7_x86-64 Release [5 766 B]
    Пол:3 https://repo.ald.company.lan/repos/astralinux17base 1.7_x86-64 Release.gpg [833 B]
    Пол:4 https://repo.ald.company.lan/repos/astralinux17base 1.7_x86-64/main amd64 Packages [1 310 kB]
    Пол:5 https://repo.ald.company.lan/repos/astralinux17base 1.7_x86-64/contrib amd64 Packages [2 155 B]
    Пол:6 https://repo.ald.company.lan/repos/astralinux17base 1.7_x86-64/non-free amd64 Packages [55,8 kB]
    Сущ:7 https://dl.astralinux.ru/aldpro/stable/repository-main 2.5.0 InRelease
    Сущ:8 https://dl.astralinux.ru/aldpro/stable/repository-extended generic InRelease
    Получено 1 374 kB за 0с (3 214 kB/s)
    Чтение списков пакетов... Готово
    Построение дерева зависимостей
    Чтение информации о состоянии... Готово
    Все пакеты имеют последние версии.

Установить **htop** для проверки, что пакет установится из сервера репозитория **astralinux17base**:

.. code-block:: bash

    sudo apt install htop -y

Результат выполнения установки **htop**:

.. code-block:: bash

    Чтение списков пакетов... Готово
    Построение дерева зависимостей
    Чтение информации о состоянии... Готово
    Предлагаемые пакеты:
    strace
    Следующие НОВЫЕ пакеты будут установлены:
    htop
    Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления
    отмечено 0 пакетов, и 0 пакетов не обновлено.
    ...
    Необходимо скачать 89,9 kB архивов.
    После данной операции объём занятого дискового пространства
    возрастёт на 213 kB.
    Пол:1 https://repo.ald.company.lan/repos/astralinux17base 1.7_x86-64/main
    amd64 htop amd64 2.5.0-1 [89,9 kB]
    Получено 89,9 kB за 0с (6 817 kB/s)
    Выбор ранее не выбранного пакета htop.
    (Чтение базы данных ... на данный момент установлено 176626 файлов и каталогов.)
    Подготовка к распаковке .../htop_2.5.0-1_amd64.deb ...
    Распаковывается htop (2.5.0-1) ...
    Настраивается пакет htop (2.5.0-1) ...
    Обрабатываются триггеры для man-db (2.8.5-2) ...
    Обрабатываются триггеры для desktop-file-utils (0.26-1astra1) ...
    Обрабатываются триггеры для mime-support (3.62) ...
    Обрабатываются триггеры для xserver-xorg-core (2:1.20.14-
    1ubuntu1astra.se31) ...
    update exec ids due to /usr/bin changed

В результате видно, что пакет установился с корпоративного репозитория **repo** c адреса: https://repo.ald.company.lan/repos/astralinux17base